from alarms import *
print(pio.renderers)
# pio.renderers.default = "vscode"
# pio.renderers.default = "notebook"
Renderers configuration
-----------------------
Default renderer: 'plotly_mimetype+notebook'
Available renderers:
['plotly_mimetype', 'jupyterlab', 'nteract', 'vscode',
'notebook', 'notebook_connected', 'kaggle', 'azure', 'colab',
'cocalc', 'databricks', 'json', 'png', 'jpeg', 'jpg', 'svg',
'pdf', 'browser', 'firefox', 'chrome', 'chromium', 'iframe',
'iframe_connected', 'sphinx_gallery']
path = "./data/stats-with-IOPs.csv"
df = pd.read_csv(path, low_memory=False)
df["StartTime"] = df["StartTime"].apply(lambda d: parse(d))
df["EndTime"] = df["EndTime"].apply(lambda d: parse(d))
df["Time"] = df["Time"].apply(lambda d: datetime.strptime(d,"%H:%M").time())
# for col in df.columns:
# print(col, type(df[col][0]))
# print("===============")
# df.info()
df.head(20)
| SourceName | StartTime | EndTime | Message | RecoveryMessage | Quality | Condition | Mask | NewState | Status | TimeDelta | Year | Month | MonthDay | WeekDay | Time | Hour | Minute | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 47TI931A | 2019-03-06 13:19:17 | 2019-03-06 13:19:33 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 16.0 | 2019 | 3 | 6 | Wednesday | 13:19:00 | 13 | 19 |
| 1 | 47TI931A | 2019-03-06 13:19:35 | 2019-03-06 13:20:22 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 47.0 | 2019 | 3 | 6 | Wednesday | 13:19:00 | 13 | 19 |
| 2 | 47TI931A | 2019-03-06 13:20:24 | 2019-03-06 13:20:28 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 4.0 | 2019 | 3 | 6 | Wednesday | 13:20:00 | 13 | 20 |
| 3 | 47TI931A | 2019-03-06 13:20:30 | 2019-03-06 13:20:49 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 19.0 | 2019 | 3 | 6 | Wednesday | 13:20:00 | 13 | 20 |
| 4 | 47TI931A | 2019-03-06 13:20:51 | 2019-03-06 13:21:03 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 12.0 | 2019 | 3 | 6 | Wednesday | 13:20:00 | 13 | 20 |
| 5 | 47TI931A | 2019-03-06 13:21:05 | 2019-03-06 13:21:11 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 6.0 | 2019 | 3 | 6 | Wednesday | 13:21:00 | 13 | 21 |
| 6 | 47TI931A | 2019-03-06 13:21:13 | 2019-03-06 13:21:25 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 12.0 | 2019 | 3 | 6 | Wednesday | 13:21:00 | 13 | 21 |
| 7 | 47TI931A | 2019-03-06 13:21:27 | 2019-03-06 13:22:22 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 55.0 | 2019 | 3 | 6 | Wednesday | 13:21:00 | 13 | 21 |
| 8 | 47TI931A | 2019-03-06 13:22:25 | 2019-03-06 13:23:51 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 86.0 | 2019 | 3 | 6 | Wednesday | 13:22:00 | 13 | 22 |
| 9 | 47TI931A | 2019-03-06 13:23:53 | 2019-03-06 13:24:33 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 40.0 | 2019 | 3 | 6 | Wednesday | 13:23:00 | 13 | 23 |
| 10 | 47TI931A | 2019-03-06 13:24:35 | 2019-03-06 13:24:40 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 5.0 | 2019 | 3 | 6 | Wednesday | 13:24:00 | 13 | 24 |
| 11 | 47TI931A | 2019-03-06 13:24:42 | 2019-03-06 13:25:10 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 28.0 | 2019 | 3 | 6 | Wednesday | 13:24:00 | 13 | 24 |
| 12 | 47TI931A | 2019-03-06 13:25:12 | 2019-03-06 13:25:44 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 32.0 | 2019 | 3 | 6 | Wednesday | 13:25:00 | 13 | 25 |
| 13 | 47TI931A | 2019-03-06 13:25:46 | 2019-03-06 13:25:48 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 2.0 | 2019 | 3 | 6 | Wednesday | 13:25:00 | 13 | 25 |
| 14 | 47TI931A | 2019-03-06 13:25:50 | 2019-03-06 13:25:56 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 6.0 | 2019 | 3 | 6 | Wednesday | 13:25:00 | 13 | 25 |
| 15 | 47TI931A | 2019-03-06 13:25:58 | 2019-03-06 13:26:00 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 2.0 | 2019 | 3 | 6 | Wednesday | 13:25:00 | 13 | 25 |
| 16 | 47TI931A | 2019-03-06 13:26:02 | 2019-03-06 13:27:06 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 64.0 | 2019 | 3 | 6 | Wednesday | 13:26:00 | 13 | 26 |
| 17 | 47TI931A | 2019-03-06 13:27:08 | 2019-03-06 13:27:51 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 43.0 | 2019 | 3 | 6 | Wednesday | 13:27:00 | 13 | 27 |
| 18 | 47TI931A | 2019-03-06 13:27:53 | 2019-03-06 13:28:16 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 23.0 | 2019 | 3 | 6 | Wednesday | 13:27:00 | 13 | 27 |
| 19 | 47TI931A | 2019-03-06 13:28:18 | 2019-03-06 13:28:20 | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C IOP | 47TI931A C5 1.YTK GIRDISCAP SICAK PV = 691 C I... | 0 | IOP | 201 | 3 | 1 | 2.0 | 2019 | 3 | 6 | Wednesday | 13:28:00 | 13 | 28 |
# df.describe()
The following graph shows all the alarms triggered in this dataset. The x-axis represents the activation time of an alarm, and the y-axis shows the duration (i.e., TimeDelta= StartTime - EndTime) of the corresponding activation. As we can see that most of the alarms deactivated within 20 seconds (it will be more clear in followings sections).
fig = px.scatter(df, x="StartTime", y="TimeDelta",render_mode="webgl")
fig.show()